<template>
  <!-- 从 saveFilePath 中选择要执行任务的目录（支持多选）点击按钮，弹出选择列表 -->
  <div>
    <!-- 点击按钮触发弹窗 -->
<!--    <button @click="showModal = true">选择目录</button>-->

    <input type="text" v-model="cron" placeholder="cron表达式">

    <!-- 弹窗组件 -->
<!--    <DirectoryPicker-->
<!--      v-model:visible="showModal"-->
<!--      :directories="saveFilePath"-->
<!--      :selectedDirs="selectedDirs"-->
<!--      @confirm="handleDirConfirm"-->
<!--    />-->

    <!-- 显示已选目录 -->
    <div v-if="selectedDirs.length">
      <h3>已选目录：</h3>
      <ul>
        <li v-for="(dir, index) in selectedDirs" :key="index">{{ dir }}</li>
      </ul>
    </div>
  </div>
  <!-- 点击要执行的方法 -->
  <button @click="addTask">添加任务</button>


<!--  <div v-for="(item, index) in saveFilePath.getSaveFilePath()" :key="index" class="terminal">-->
<!--    <li>{{ item }}</li>-->
<!--  </div>-->
<!--  &lt;!&ndash; 设置 cron 表达式 &ndash;&gt;-->
<!--  <div class="command-input">-->
<!--    <input v-model="cron" type="text" placeholder="请输入定时任务表达式" />-->
<!--    <button @click="startTask">设置</button>-->
<!--  </div>-->
<!--  <div>-->
<!--    <span>定时任务表达式：{{ cron }}</span>-->
<!--  </div>-->
</template>

<script setup>
import { ref, onMounted, watch } from "vue";
import { useSaveFilePathStore } from "./js/store/FilePathStore";
import DirectoryPicker from "./file/DirectoryPicker.vue";
import { TasksStore } from "./js/util/TasksStore";
import { Task } from "./js/entity/Task";

const allTasks = ref([]);
// watch TasksStore.getTasks()
watch(() => TasksStore.getTasks(), (newVal) => {
  allTasks.value = newVal
})

const taskRunning = ref(false)
const cron = ref('')

const saveFilePath = useSaveFilePathStore().getSaveFilePath()

// 控制弹窗显示
const showModal = ref(false);

// 用户最终选择的目录
const selectedDirs = ref([]);

// 弹窗确认回调
const handleDirConfirm = (dirs) => {
  selectedDirs.value = dirs;
};

// 开启定时任务
const addTask = () => {
  taskRunning.value = false
  // 通知 主进程 cron 表达式、文件列表
  const task = setInterval(() => {
    for (const item of fileList.value) {
      // 执行 git pull
      // 执行 git push
    }
  }, 1000 * 60 * 60)
  // 停止定时任务
  const stopTask = () => {
    clearInterval(task)
    taskRunning.value = false
  }
  // 监听窗口关闭事件，停止定时任务
}


// 初始化
onMounted(() => {
  // addOutputLine('欢迎使用 Auto Git 终端', 'info')
  // addOutputLine('请先选择工作目录', 'info')

})
</script>

<style scoped></style>
